A typical write-once memory cell is manufactured in an original, un-programmed state and can later be programmed to a programmed state. A write-once memory cell is “write-once” in the sense that once the memory cell is programmed, the memory cell cannot be returned to its initial, un-programmed state. While write-once memory cells offer a low-cost storage solution as compared to re-writable memory cells, there are many applications in which rewritable storage is desired. Previous approaches to address this issue include using controller logic to point to un-programmed memory cells to simulate re-writability. See, for example, U.S. Pat. Nos. 7,051,251 and 7,062,602. However, the cost of providing twice the number of memory cells to simulate re-writability may reduce the cost advantage associated with write-once memory cells. U.S. Pat. No. 7,177,183 describes an alternative approach, in which a group of write-once memory cells are used to represent a single bit of data. To “rewrite” the data, an additional memory cell in the group is programmed. As with the other approach, this approach comes at the cost of requiring additional memory cells.
Recently, write-once memory cells have been disclosed that can be used to store two or more bits of data and have “one-time re-writability.” For example, U.S. Patent Application Publication No. 2007/0090425 describes a write-once memory cell that can store more than two states by lowering the resistance of the memory cell through application of an appropriate programming pulse. Each lowered-resistance state corresponds to a different programmed state, and the memory cell is used as a multi-level cell (“MLC”) to store two or more bits of data. If the appropriate programming pulse is applied, the resistance of the memory cell can be changed from a lowered-resistance state to a permanent, higher-resistance state. Accordingly, such memory cell can be considered to have “one-time re-writability” in that it can be written once to store two or more bits of data (with the memory cell acting as a MLC) and later to permanently set the memory cell to a higher resistance to represent a different state. Because this higher-resistance state is permanent, the memory cell can only be “rewritten” once, which limits the applicability of such memory cells for rewritable environments.